/**
 * Classe representant une tache
 */
public class Tache {

	/**
	 * Date de debut, c'est un entier, qui vaut -1 tant qu'elle n'est pas
	 * definie
	 */
	private int debut;
	/**
	 * Date minimale de debut, elle vaut 0 au depart et sera modifiee si la
	 * tache precedant celle ci est placee
	 */
	private int dateMin;
	/** Duree de la tache */
	private int duree;
	/** Ressource utilisee par la tache */
	private Ressource ressource;
	/** Job parent de cette tache */
	private Job jobParent;
	/** Nom de la tache, il sert surtout pour le toString */
	private String nom;
	/** Ordre de passage de la tache dans son job parent (1 si premier, etc) */
	private int ordre;

	/**
	 * Constructeur
	 * 
	 * @param nom
	 *            le nom de la tache
	 * @param duree
	 *            duree de la tache
	 * @param ressource
	 *            ressource de la tache
	 * @param jobParent
	 *            job parent de la tache
	 */
	public Tache(String nom, int ordre, int duree, Ressource ressource, Job jobParent) {
		super();
		this.nom = nom;
		this.ordre = ordre;
		this.debut = -1;
		this.dateMin = 0;
		this.duree = duree;
		this.ressource = ressource;
		this.jobParent = jobParent;
	}
	
	public Tache(){
		this.nom="";
	}

	// Getters et setters des attributs

	public int getDebut() {
		return debut;
	}

	public void setDebut(int debut) {
		this.debut = debut;
	}

	public int getDuree() {
		return duree;
	}

	public int getDateMin() {
		return dateMin;
	}

	public void setDateMin(int dateMin) {
		this.dateMin = dateMin;
	}

	public Ressource getRessource() {
		return ressource;
	}

	public Job getJobParent() {
		return jobParent;
	}

	public String toString() {
		return this.nom;
	}

	public int getOrdre() {
		return this.ordre;
	}
}
